package com.cskaoyan.javase.array._5operation._0traverse;

/**
 * 循环遍历数组,除了常见的for循环外,还有一个常用的就是增强for循环(也叫foreach)
 * 增强for是在for循环的基础上改进而来,它的语法更简洁,遍历的效率更高
 *
 * 语法:
 *      for(数据类型 变量名 : 被循环遍历的容器){
 *          // 循环体
 *      }
 *
 * 解释:
 *      数据类型  指的是被遍历容器中元素的数据类型
 *      变量名  就表示容器中的每一个元素
 *
 * 增强for的优点是,语法简洁,而且效率高
 * 缺点:
 *      1.增强for没有数组下标,如果在循环中需要使用数组下标,增强for就没用了
 *          比如查找元素,返回下标,这对于增强for是不好做的.
 *      2.增强for是迭代器
 *          它的作用就仅仅是循环遍历元素,仅仅用于访问元素,不可以用来给元素赋值
 *
 * 最后,增强for更多是用来遍历集合容器的,遍历数组是比较少见的.后面学习集合时,还会进一步学习增强for.
 *
 * @since 11:40
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo4 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};

        // 快速使用增强for迭代一个数组 直接在代码中写iter
        // 然后idea自动寻找一个最近的容器去遍历
        for (int element : arr) {
            // element就表示数组arr中的每一个元素
            // 增强for不能修改元素,仅能用于访问元素
            element = 100;
        }
        // 数组名.fori 用for循环遍历数组快捷键
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}
